package com.metaverse.backend.dto.gen;


import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;

@Data
@JsonAutoDetect
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(ignoreUnknown = true)
public class TableField {

    /**
     * id
     */
    private Integer id;

    /**
     * 字段名
     */
    private String name;

    /**
     * 驼峰式名字
     */
    private String modelName;

    /**
     * 备注
     */
    private String remark;

    /**
     * 数据类型(数据库)
     */
    private String jdbcType;

    /**
     * java类型
     */
    private String javaType;

    /**
     * 长度
     */
    private Integer length;

    /**
     * 小数长度
     */
    private Integer decimalPlaces;

    /**
     * 默认值
     */
    private String defaultValue;

    /**
     * 非空
     */
    private Boolean notNull;

    /**
     * 主键
     */
    private Boolean primaryKey;

    /**
     * 自增
     */
    private Boolean autoIncrease;

    /**
     * 在列表中显示
     */
    private Boolean showInList;

    /**
     * 在表单中显示
     */
    private Boolean showInForm;

    /**
     * 可以排序
     */
    private Boolean sortable;

    /**
     * 表单类型
     */
    private String formType;

    /**
     * 搜索方式
     */
    private String searchMethod;

    /**
     * 表单必填
     */
    private Boolean required;

    /**
     * 表单验证
     */
    private Boolean validate;

    /**
     * 最短长度
     */
    private Integer minLength;

    /**
     * 最大长度
     */
    private Integer maxLength;

    /**
     * 最小值
     */
    private String min;

    /**
     * 最大值
     */
    private String max;

    /**
     * 验证类型
     */
    private String validatorType;

    /**
     * xml里jdbcType
     */
    private String sqlType;

    /**
     * 下拉框类型 1 枚举， 2 接口， 3 读表
     */
    private String apiFlag;

    /**
     * 接口方法/表名
     */
    private String optionsMethod;

    /**
     * 选项值，在枚举是用该值解析
     */
    private String optionsValue;


    /**
     * 显示值
     */
    private String optionsLabel;


}

